package com.platform.module.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 用户VIP活动表
 * </p>
 *
 * @author ZM
 * @since 2025-01-07
 */
@Getter
@Setter
@TableName("tb_user_vip")
public class TbUserVip implements Serializable {

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    @TableField("user_id")
    private Long userId;

    /**
     * 当前VIP等级
     */
    @TableField("ilevel")
    private Integer ilevel;

    /**
     * 充值总金额
     */
    @TableField("itmoney")
    private BigDecimal itmoney;

    /**
     * 奖励总金额(sign in + cash back)
     */
    @TableField("reward_money")
    private BigDecimal rewardMoney;

    /**
     * 签到领取累计奖励（只可以领取当前等级奖励）
     */
    @TableField("sign_money")
    private BigDecimal signMoney;

    /**
     * 输比赛累计领取奖励
     */
    @TableField("cash_back_money")
    private BigDecimal cashBackMoney;

    /**
     * CashBack(今日待领)：昨天产生的返现(保留两位)
     */
    @TableField("cash_back")
    private BigDecimal cashBack;

    /**
     * CashBack(明日可领 )：今天产生的返现(保留三位) 
     */
    @TableField("cash_back_tmr")
    private BigDecimal cashBackTmr;

    /**
     * CashBack奖励(清除)：今日可领返现，未领取清除总金额
     */
    @TableField("cash_back_reset")
    private BigDecimal cashBackReset;

    /**
     * CashBack总额：cashback钱包返现总金额
     */
    @TableField("cash_back_total")
    private BigDecimal cashBackTotal;

    /**
     * 当前等级签到累计领取次数
     */
    @TableField("max_num")
    private Integer maxNum;

    /**
     * 签到次数总
     */
    @TableField("sign_num")
    private Integer signNum;

    /**
     * 当前等级今日是否签到 (0 未签到 1 已签到) 一个等级当天只可签到一次
     */
    @TableField("isign_in")
    private Integer isignIn;

    /**
     * 今日是否领取cashback (0 未领取 1 已领取)
     */
    @TableField("icash_back")
    private Integer icashBack;

    /**
     * 创建时间
     */
    @TableField("ccreated_time")
    private LocalDateTime ccreatedTime;

    /**
     * 更新时间
     */
    @TableField("cupdate_time")
    private LocalDateTime cupdateTime;

    /**
     * 升级VIP时间
     */
    @TableField("vip_update_time")
    private LocalDateTime vipUpdateTime;
}
